package com.ride.dao;

import com.ride.model.Evaluation;

/**
 * Interface zum Zugriff auf Bewertungen.
 *
 * @version $LastChangedRevision: 15 $
 *          <p/>
 *          $LastChangedBy: marcel.menze@gmail.com $
 *          <p/>
 *          $LastChangedDate: 2011-04-03 13:43:25 +0000 (Sun, 03 Apr 2011) $
 */
public interface EvaluationDao {

    /**
     * Ermittelt eine Bewertung anhand der ID.
     *
     * @param id ID
     * @return Evaluation
     */
    Evaluation findById(Long id);

    /**
     * Erzeugt eine neue Bewertung.
     *
     * @param evaluation Bewertung
     */
    void persist(Evaluation evaluation);

    /**
     * Aktaulisiert eine vorhanden Bewertung.
     *
     * @param evaluation Bewertung
     */
    void update(Evaluation evaluation);

    /**
     * Löscht eine Bewertung.
     *
     * @param evaluation Bewertung
     */
    void delete(Evaluation evaluation);

}
